Fix for reading track name in XCSV.
authorrobertl <robertl>
Wed, 11 Feb 2009 12:48:17 +0000 (12:48 +0000)
committerrobertl <robertl>
Wed, 11 Feb 2009 12:48:17 +0000 (12:48 +0000)
csv_util.c

index 45b22b9b404106474f043151a9fe92cd9efe5e44..e824a020c33625e94294c4c631908b86f8461e6d 100644 (file)
@@ -1168,7 +1168,10 @@ xcsv_parse_val(const char *s, waypoint *wpt, const field_map_t *fmp)
        if (csv_route) csv_route->rte_name = csv_stringtrim(s, enclosure, 0);
        break;
     case XT_TRACK_NAME:
-       if (csv_track) csv_track->rte_name = csv_stringtrim(s, enclosure, 0);
+       if (!csv_track) {
+               csv_track = route_head_alloc();
+        }
+       csv_track->rte_name = csv_stringtrim(s, enclosure, 0);
        break;
        
     /* OTHER STUFF ***************************************************/
@@ -1336,6 +1339,7 @@ xcsv_data_read(void)
                case trkdata:
                    if (trk == NULL) {
                        trk = route_head_alloc();
+                       csv_track = trk;
                        track_add_head(trk);
                    }
                    track_add_wpt(trk, wpt_tmp);
@@ -1343,6 +1347,7 @@ xcsv_data_read(void)
                case rtedata:
                    if (rte == NULL) {
                        rte = route_head_alloc();
+                       csv_route = rte;
                        route_add_head(rte);
                    }
                    route_add_wpt(rte, wpt_tmp);